//Logging class
//TODO: Add real debug/error/info functionality (allow debug println statements 
//      to be turned on/off based on the debug compile flag)

#ifndef _HELIX_LOG_H_
#define _HELIX_LOG_H_


#include <stdio.h>			//include file io library
#include "Helix.h"


namespace helix		//Put this in the helix namespace
{

	class MY_CLASS Log
	{
	protected:
		FILE *logFile;				//pointer to the file that our log writes to
		char *fileName;				//the name of the file
		
	public:
		Log();							//default constructor
		Log(char *logFileName);			//constructor opens a file with the name logFileName
		virtual void releaseLog();

		void setLog(char *logFileName);			//sets the file name of the log file

		void Print(char *outString,...);		//outputs the text to a file
		void Println(char *outString,...);		//outputs the text to a file
		void Error(char *outstring,...);		//Puts ***around the text*** to spot errors easier

		FILE* getFilePtr();

		void deleteLog();			//delete the log file (cleanup after unit testing
	};

}  //End the helix namespace

#endif